Skip to content

[clang-tidy][NFC] Enable 'performance-move-const-arg' in '.clang-tidy' config #148549

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 3, 2025

Conversation

vbvictor
Copy link
Contributor

Set performance-move-const-arg.CheckTriviallyCopyableMove option to false because "trivially copyable" is too strict and give warning for e.g. MixData class:

Here:
Mix(const ParmVarDecl *F, const ParmVarDecl *S, MixData Data)
: First(F), Second(S), Data(std::move(Data)) {}

I find std::move here useful, WDYT?

With option set to true (default) we get these more warnings which are only about trivially copyable types:

diff --git a/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
index a179d4bf66b4..5217dd4a50b6 100644
--- a/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
@@ -502,7 +502,7 @@ struct Mix {
   MixData Data;
 
   Mix(const ParmVarDecl *F, const ParmVarDecl *S, MixData Data)
-      : First(F), Second(S), Data(std::move(Data)) {}
+      : First(F), Second(S), Data(Data) {}
 
   void sanitize() { Data.sanitize(); }
   MixFlags flags() const { return Data.Flags; }
@@ -1476,7 +1476,7 @@ static MixableParameterRange modelMixingRange(
       assert(M.flagsValid() && "All flags decayed!");
 
       if (M.mixable())
-        MixesOfIth.emplace_back(std::move(M));
+        MixesOfIth.emplace_back(M);
     }
 
     if (MixesOfIth.empty()) {
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
index 0b6b8d9c9713..5c2d97b20518 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
@@ -132,7 +132,7 @@ void SpecialMemberFunctionsCheck::check(
     llvm::SmallVectorImpl<SpecialMemberFunctionData> &Members =
         ClassWithSpecialMembers[ID];
     if (!llvm::is_contained(Members, Data))
-      Members.push_back(std::move(Data));
+      Members.push_back(Data);
   };
 
   if (const auto *Dtor = Result.Nodes.getNodeAs<CXXMethodDecl>("dtor")) {
diff --git a/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
index e9b96c4016af..a506e01a637b 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
@@ -145,7 +145,7 @@ matchEnableIfSpecialization(TypeLoc TheType) {
     TheType = Qualified.getUnqualifiedLoc();
 
   if (auto EnableIf = matchEnableIfSpecializationImpl(TheType))
-    return EnableIfData{std::move(*EnableIf), TheType};
+    return EnableIfData{*EnableIf, TheType};
   return std::nullopt;
 }
 
diff --git a/clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
index 2af67f7ccb4c..7b1c2b4cb839 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
@@ -38,7 +38,7 @@ namespace {
 struct NotLengthExprForStringNode {
   NotLengthExprForStringNode(std::string ID, DynTypedNode Node,
                              ASTContext *Context)
-      : ID(std::move(ID)), Node(std::move(Node)), Context(Context) {}
+      : ID(std::move(ID)), Node(Node), Context(Context) {}
   bool operator()(const internal::BoundNodesMap &Nodes) const {
     // Match a string literal and an integer size or strlen() call.
     if (const auto *StringLiteralNode = Nodes.getNodeAs<StringLiteral>(ID)) {
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index fab2365f1147..6f94d991a4e1 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -280,7 +280,7 @@ IdentifierNamingCheck::FileStyle IdentifierNamingCheck::getFileStyleFromOptions(
         Options.get<IdentifierNamingCheck::CaseType>(StyleString);
 
     if (CaseOptional || Prefix || Postfix || IgnoredRegexpStr || HPTOpt)
-      Styles[I].emplace(std::move(CaseOptional), Prefix.value_or(""),
+      Styles[I].emplace(CaseOptional, Prefix.value_or(""),
                         Postfix.value_or(""), IgnoredRegexpStr.value_or(""),
                         HPTOpt.value_or(IdentifierNamingCheck::HPT_Off));
   }

@llvmbot
Copy link
Member

llvmbot commented Jul 13, 2025

@llvm/pr-subscribers-clang-tidy

@llvm/pr-subscribers-clang-tools-extra

Author: Baranov Victor (vbvictor)

Changes

Set performance-move-const-arg.CheckTriviallyCopyableMove option to false because "trivially copyable" is too strict and give warning for e.g. MixData class:

Here:
Mix(const ParmVarDecl *F, const ParmVarDecl *S, MixData Data)
: First(F), Second(S), Data(std::move(Data)) {}

I find std::move here useful, WDYT?

With option set to true (default) we get these more warnings which are only about trivially copyable types:

diff --git a/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
index a179d4bf66b4..5217dd4a50b6 100644
--- a/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
@@ -502,7 +502,7 @@ struct Mix {
   MixData Data;
 
   Mix(const ParmVarDecl *F, const ParmVarDecl *S, MixData Data)
-      : First(F), Second(S), Data(std::move(Data)) {}
+      : First(F), Second(S), Data(Data) {}
 
   void sanitize() { Data.sanitize(); }
   MixFlags flags() const { return Data.Flags; }
@@ -1476,7 +1476,7 @@ static MixableParameterRange modelMixingRange(
       assert(M.flagsValid() &amp;&amp; "All flags decayed!");
 
       if (M.mixable())
-        MixesOfIth.emplace_back(std::move(M));
+        MixesOfIth.emplace_back(M);
     }
 
     if (MixesOfIth.empty()) {
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
index 0b6b8d9c9713..5c2d97b20518 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
@@ -132,7 +132,7 @@ void SpecialMemberFunctionsCheck::check(
     llvm::SmallVectorImpl&lt;SpecialMemberFunctionData&gt; &amp;Members =
         ClassWithSpecialMembers[ID];
     if (!llvm::is_contained(Members, Data))
-      Members.push_back(std::move(Data));
+      Members.push_back(Data);
   };
 
   if (const auto *Dtor = Result.Nodes.getNodeAs&lt;CXXMethodDecl&gt;("dtor")) {
diff --git a/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
index e9b96c4016af..a506e01a637b 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
@@ -145,7 +145,7 @@ matchEnableIfSpecialization(TypeLoc TheType) {
     TheType = Qualified.getUnqualifiedLoc();
 
   if (auto EnableIf = matchEnableIfSpecializationImpl(TheType))
-    return EnableIfData{std::move(*EnableIf), TheType};
+    return EnableIfData{*EnableIf, TheType};
   return std::nullopt;
 }
 
diff --git a/clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
index 2af67f7ccb4c..7b1c2b4cb839 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
@@ -38,7 +38,7 @@ namespace {
 struct NotLengthExprForStringNode {
   NotLengthExprForStringNode(std::string ID, DynTypedNode Node,
                              ASTContext *Context)
-      : ID(std::move(ID)), Node(std::move(Node)), Context(Context) {}
+      : ID(std::move(ID)), Node(Node), Context(Context) {}
   bool operator()(const internal::BoundNodesMap &amp;Nodes) const {
     // Match a string literal and an integer size or strlen() call.
     if (const auto *StringLiteralNode = Nodes.getNodeAs&lt;StringLiteral&gt;(ID)) {
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index fab2365f1147..6f94d991a4e1 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -280,7 +280,7 @@ IdentifierNamingCheck::FileStyle IdentifierNamingCheck::getFileStyleFromOptions(
         Options.get&lt;IdentifierNamingCheck::CaseType&gt;(StyleString);
 
     if (CaseOptional || Prefix || Postfix || IgnoredRegexpStr || HPTOpt)
-      Styles[I].emplace(std::move(CaseOptional), Prefix.value_or(""),
+      Styles[I].emplace(CaseOptional, Prefix.value_or(""),
                         Postfix.value_or(""), IgnoredRegexpStr.value_or(""),
                         HPTOpt.value_or(IdentifierNamingCheck::HPT_Off));
   }

Full diff: https://github.com/llvm/llvm-project/pull/148549.diff

5 Files Affected:

  • (modified) clang-tools-extra/clang-tidy/.clang-tidy (+4-1)
  • (modified) clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp (+1-2)
  • (modified) clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp (+1-1)
  • (modified) clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp (+1-1)
diff --git a/clang-tools-extra/clang-tidy/.clang-tidy b/clang-tools-extra/clang-tidy/.clang-tidy
index 2443c979621da..be8e598de9634 100644
--- a/clang-tools-extra/clang-tidy/.clang-tidy
+++ b/clang-tools-extra/clang-tidy/.clang-tidy
@@ -16,7 +16,6 @@ Checks: >
   -modernize-use-trailing-return-type,
   performance-*,
   -performance-enum-size,
-  -performance-move-const-arg,
   -performance-no-int-to-ptr,
   -performance-type-promotion-in-math-fn,
   -performance-unnecessary-value-param,
@@ -39,3 +38,7 @@ Checks: >
   -readability-static-definition-in-anonymous-namespace,
   -readability-suspicious-call-argument,
   -readability-use-anyofallof
+
+CheckOptions:
+  - key:             performance-move-const-arg.CheckTriviallyCopyableMove
+    value:           false
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
index 82fd3316b942a..82d1cf13440bc 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
@@ -132,8 +132,7 @@ void MissingStdForwardCheck::registerMatchers(MatchFinder *Finder) {
           hasAncestor(functionDecl().bind("func")),
           hasAncestor(functionDecl(
               isDefinition(), equalsBoundNode("func"), ToParam,
-              unless(anyOf(isDeleted(),
-                           hasDescendant(std::move(ForwardCallMatcher))))))),
+              unless(anyOf(isDeleted(), hasDescendant(ForwardCallMatcher)))))),
       this);
 }
 
diff --git a/clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp b/clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
index 0804aa76d953c..ee70911dff1d5 100644
--- a/clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
@@ -67,7 +67,7 @@ void AvoidCArraysCheck::registerMatchers(MatchFinder *Finder) {
                            hasParent(fieldDecl(
                                hasParent(recordDecl(isExternCContext())))),
                            hasAncestor(functionDecl(isExternC())))),
-              std::move(IgnoreStringArrayIfNeededMatcher))
+              IgnoreStringArrayIfNeededMatcher)
           .bind("typeloc"),
       this);
 }
diff --git a/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp b/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
index ff5a302dfa75d..934cc24817d73 100644
--- a/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
@@ -319,7 +319,7 @@ void UseStdNumbersCheck::registerMatchers(MatchFinder *const Finder) {
 
   Finder->addMatcher(
       expr(
-          anyOfExhaustive(std::move(ConstantMatchers)),
+          anyOfExhaustive(ConstantMatchers),
           unless(hasParent(explicitCastExpr(hasDestinationType(isFloating())))),
           hasType(qualType(hasCanonicalTypeUnqualified(
               anyOf(qualType(asString("float")).bind("float"),
diff --git a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
index e421c9f11b24b..25601f9a01a48 100644
--- a/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
+++ b/clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
@@ -149,7 +149,7 @@ void UseRangesCheck::registerMatchers(MatchFinder *Finder) {
     }
     Finder->addMatcher(
         callExpr(
-            callee(functionDecl(hasAnyName(std::move(Names)))
+            callee(functionDecl(hasAnyName(Names))
                        .bind((FuncDecl + Twine(Replacers.size() - 1).str()))),
             ast_matchers::internal::DynTypedMatcher::constructVariadic(
                 ast_matchers::internal::DynTypedMatcher::VO_AnyOf,

Copy link
Contributor

@carlosgalvezp carlosgalvezp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@HerrCai0907
Copy link
Contributor

Are they really need to "std::move" in the patch?
I think MixData is meaningless since it is still need to copy all field.

@vbvictor
Copy link
Contributor Author

Are they really need to "std::move" in the patch? I think MixData is meaningless since it is still need to copy all field.

Do you mean with CheckTriviallyCopyableMove set to true? Technically, there would probably be no performance benefit. However, from author's point of view, he intended not to use that data anymore so he used std::move to "semantically" flag it. I'm more in favor of preserving "semantics" so put CheckTriviallyCopyableMove to false.

@nicovank
Copy link
Contributor

nicovank commented Jul 17, 2025

However, from author's point of view, he intended not to use that data anymore so he used std::move to "semantically" flag it. I'm more in favor of preserving "semantics" so put CheckTriviallyCopyableMove to false.

Adding that keeping std::move is robust in cases when the class might change and add a movable data member later on. However, it may also mislead/confuse some people reading the code about what kind of fields a class has, or think a class can be efficiently moved when it isn't the case.

I have a small preference for CheckTriviallyCopyableMove: false, and let individual programmers decide.

@vbvictor
Copy link
Contributor Author

vbvictor commented Aug 3, 2025

Merging it as is with CheckTriviallyCopyableMove: false. We can always put CheckTriviallyCopyableMove: true in the future and fix the remaining warnings.

@vbvictor vbvictor merged commit 5325f2b into llvm:main Aug 3, 2025
12 checks passed
@vbvictor vbvictor deleted the enable-performance-move-const-arg branch August 3, 2025 10:18
@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 3, 2025

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-a-1 while building clang-tools-extra at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/11/builds/20989

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
[685/1397] Building CXX object unittests/ADT/CMakeFiles/ADTTests.dir/PackedVectorTest.cpp.o
[686/1397] Building CXX object unittests/ADT/CMakeFiles/ADTTests.dir/PointerIntPairTest.cpp.o
[687/1397] Linking CXX executable bin/yaml2obj
[687/1397] Running lld test suite
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/wasm-ld
-- Testing: 3130 tests, 60 workers --
Testing:  0..
FAIL: lld :: COFF/import_weak_alias.test (253 of 3130)
******************** TEST 'lld :: COFF/import_weak_alias.test' FAILED ********************
Exit Code: 139

Command Output (stderr):
--
split-file /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/lld/test/COFF/import_weak_alias.test /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir # RUN: at line 3
+ split-file /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/lld/test/COFF/import_weak_alias.test /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/llvm-mc --filetype=obj -triple=x86_64-windows-msvc /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir/foo.s -o /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj # RUN: at line 4
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/llvm-mc --filetype=obj -triple=x86_64-windows-msvc /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir/foo.s -o /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/llvm-mc --filetype=obj -triple=x86_64-windows-msvc /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir/qux.s -o /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj # RUN: at line 5
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/llvm-mc --filetype=obj -triple=x86_64-windows-msvc /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir/qux.s -o /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/lld-link /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj -out:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dll -dll # RUN: at line 6
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/lld-link /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj -out:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dll -dll
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.script: line 4: 2396771 Segmentation fault      (core dumped) /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/lld-link /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj -out:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dll -dll

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
********************
Failed Tests (1):
  lld :: COFF/import_weak_alias.test


Testing Time: 25.45s

Total Discovered Tests: 3130
  Unsupported:  568 (18.15%)
  Passed     : 2561 (81.82%)
  Failed     :    1 (0.03%)
[831/1397] Building CXX object unittests/CodeGen/CMakeFiles/CodeGenTests.dir/GCMetadata.cpp.o
FAILED: tools/lld/test/CMakeFiles/check-lld /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/CMakeFiles/check-lld 
cd /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test && /usr/bin/python3.10 /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/./bin/llvm-lit -sv /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test
[833/1397] Building CXX object unittests/CodeGen/CGPluginTest/CMakeFiles/CGPluginTest.dir/PluginTest.cpp.o
[834/1397] Building CXX object unittests/DebugInfo/CodeView/CMakeFiles/DebugInfoCodeViewTests.dir/RandomAccessVisitorTest.cpp.o
[835/1397] Building CXX object unittests/DebugInfo/LogicalView/CMakeFiles/DebugInfoLogicalViewTests.dir/__/DWARF/DwarfUtils.cpp.o
[836/1397] Building CXX object unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineOperandTest.cpp.o
[837/1397] Building CXX object unittests/DebugInfo/DWARF/CMakeFiles/DebugInfoDWARFTests.dir/DWARFDebugAbbrevTest.cpp.o
Step 7 (check) failure: check (failure)
...
[685/1397] Building CXX object unittests/ADT/CMakeFiles/ADTTests.dir/PackedVectorTest.cpp.o
[686/1397] Building CXX object unittests/ADT/CMakeFiles/ADTTests.dir/PointerIntPairTest.cpp.o
[687/1397] Linking CXX executable bin/yaml2obj
[687/1397] Running lld test suite
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/wasm-ld
-- Testing: 3130 tests, 60 workers --
Testing:  0..
FAIL: lld :: COFF/import_weak_alias.test (253 of 3130)
******************** TEST 'lld :: COFF/import_weak_alias.test' FAILED ********************
Exit Code: 139

Command Output (stderr):
--
split-file /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/lld/test/COFF/import_weak_alias.test /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir # RUN: at line 3
+ split-file /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/lld/test/COFF/import_weak_alias.test /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/llvm-mc --filetype=obj -triple=x86_64-windows-msvc /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir/foo.s -o /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj # RUN: at line 4
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/llvm-mc --filetype=obj -triple=x86_64-windows-msvc /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir/foo.s -o /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/llvm-mc --filetype=obj -triple=x86_64-windows-msvc /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir/qux.s -o /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj # RUN: at line 5
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/llvm-mc --filetype=obj -triple=x86_64-windows-msvc /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dir/qux.s -o /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/lld-link /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj -out:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dll -dll # RUN: at line 6
+ /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/lld-link /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj -out:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dll -dll
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.script: line 4: 2396771 Segmentation fault      (core dumped) /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/bin/lld-link /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.qux.obj /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.foo.obj -out:/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/COFF/Output/import_weak_alias.test.tmp.dll -dll

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
********************
Failed Tests (1):
  lld :: COFF/import_weak_alias.test


Testing Time: 25.45s

Total Discovered Tests: 3130
  Unsupported:  568 (18.15%)
  Passed     : 2561 (81.82%)
  Failed     :    1 (0.03%)
[831/1397] Building CXX object unittests/CodeGen/CMakeFiles/CodeGenTests.dir/GCMetadata.cpp.o
FAILED: tools/lld/test/CMakeFiles/check-lld /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test/CMakeFiles/check-lld 
cd /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test && /usr/bin/python3.10 /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/./bin/llvm-lit -sv /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-uykfa495/tools/lld/test
[833/1397] Building CXX object unittests/CodeGen/CGPluginTest/CMakeFiles/CGPluginTest.dir/PluginTest.cpp.o
[834/1397] Building CXX object unittests/DebugInfo/CodeView/CMakeFiles/DebugInfoCodeViewTests.dir/RandomAccessVisitorTest.cpp.o
[835/1397] Building CXX object unittests/DebugInfo/LogicalView/CMakeFiles/DebugInfoLogicalViewTests.dir/__/DWARF/DwarfUtils.cpp.o
[836/1397] Building CXX object unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineOperandTest.cpp.o
[837/1397] Building CXX object unittests/DebugInfo/DWARF/CMakeFiles/DebugInfoDWARFTests.dir/DWARFDebugAbbrevTest.cpp.o

krishna2803 pushed a commit to krishna2803/llvm-project that referenced this pull request Aug 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants